Sim card implemented on a processor readable medium

ABSTRACT

A SIM card for a phone has a first memory partition on which a phone user identity and phone network access data are stored. A service usage monitoring application is stored in a memory. The service usage monitoring application (a) logs information about a service used via the phone, (b) creates a service usage record for the service activity based on the information, (c) stores the service usage record in a buffer, (d) creates a reporting message containing at least one service usage data record, (e) sends the reporting message to a remote server at a preset interval based on a triggered event, and (f) purges the at least one service usage record from the buffer upon successful transmission of the reporting message.

REFERENCE TO PRIOR APPLICATION

This application is a divisional application of the U.S. patentapplication Ser. No. 10/923,479 filed on Aug. 20, 2004 and entitled“Service Detail Record Application and System” which is incorporatedherein in by reference in its entirety.

BACKGROUND

1. Technical Field

This invention relates a system and method for actively monitoring andreporting service usage activity on a wireless system, and morespecifically, to a system for compiling service usage records forservices used on the wireless system and transmitting the service usagerecords to a remote server for processing.

2. Description of the Related Arts

There are calling/billing systems in the art. Such systems typicallyinclude a Subscriber Identity Module smart card (“SIM card”) hooked intoa cellular telephone, where the SIM cards contain information personalto the user. Such systems require specialized software on the cellulartelephone, in order for compilation of call information to occur. Forexample, in typical systems, a SIM card for a Global System for MobileCommunications (“GSM”) cell phone can only be used with certain GSM cellphones having the specialized software on the GSM cell phone itself.

There are also calling/billing systems in the art which include SIMcards on which a running total is kept of the user's minutes and ratingoccurs on the card. Such SIM cards can be for calling plans where theuser pays for minutes and services prior to using the minutes andservices. In such SIM cards, a tariff table within the SIM card keepstrack of the minutes and service and shuts off service itself when theuser's paid minutes and/or services have been used up. Some of thesesystems conduct billing in real-time on the SIM. There are alsoadditional SIM cards in the art in which complex billing rules arestored on the SIM card itself. Other calling/billing systems in the artallow the user to replenish an account (e.g., add minutes and services)during a call.

SUMMARY OF THE INVENTION

Embodiments of the inventions are directed to a SIM card for a phone orother communication device. The SIM card for a phone has a first memorypartition on which a phone user identity and phone network access dataare stored. A service usage monitoring application is stored in amemory. The service usage monitoring application (a) logs informationabout a service used via the phone, (b) creates a service usage recordfor the service activity based on the information, (c) stores theservice usage record in a buffer, (d) creates a reporting messagecontaining at least one service usage data record, (e) sends thereporting message to a remote server at a preset interval based on atriggered event, and (f) purges the at least one service usage recordfrom the buffer upon successful transmission of the reporting message.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a cell phone according to an embodiment of theinvention;

FIG. 2 illustrates a SIM card according to an embodiment of theinvention;

FIG. 3 illustrates a diagram of a cellular system according to anembodiment of the invention;

FIG. 4A illustrates a service usage monitoring method implemented by awireless system according to an embodiment of the invention;

FIG. 4B illustrates an alternative call monitoring method implemented bythe cellular system according to an embodiment of the invention.

FIG. 4C illustrates a service usage record reporting method implementedby a wireless system according to an embodiment of the invention;

FIG. 4D illustrates a method of disabling the SIM card whenpredetermined standards are not met by the phone according to anembodiment of the invention;

FIG. 5 illustrates components within a memory partition according to anembodiment of the invention;

FIG. 6 illustrates a cell phone for accessing a network according to anembodiment of the invention;

FIGS. 7A and 7B illustrate a method of remotely controlling services ona cell phone utilizing a SIM card implementing a service usagemonitoring application according to an embodiment of the invention; and

FIG. 8 illustrates a diagram of another cellular system according to anembodiment of the invention.

DETAILED DESCRIPTION

An embodiment of the invention is directed to a method and system forcompiling information pertaining to service usage made on a wirelessnetwork and transmitting the information via a wireless network to aStorage and Control Server (“SCS”). The service usage may be made viacellular telephones on a cellular network, for example. The cell phonesmay be GSM cell phones. A user may have a SIM card that containspersonal user account information such as custom menus, telephone lists,personalized services, network access and authentication protocols, etc.The SIM card may also include a memory which stores instructions orunique software code for a customized service usage monitoringapplication. The SIM card may be used with any cell phone compliant withGSM standards.

The unique software code for the customized service usage monitoringapplication may be located entirely within the SIM card in a memorypartition. Software on the cellular phone itself may be executed inconjunction with the instructions or code on the SIM card, but theunique instructions or code are contained entirely within the SIM carditself so that the SIM card can be moved from one GSM cellular phone toanother GSM cellular phone and the customized service usage monitoringapplication may still be invoked. The customized service usagemonitoring application may periodically send messages to the SCS, themessages containing details of service usage made via the cellularphone. Services in the GSM environment may include calling, messaging,use of General Packet Radio Service (“GPRS”), data calls, purchasetransactions, downloading, streaming media, picture messaging, etc. Theservice usage records may be sent using the Short Message Service(“SMS”) format or in any other data format such as GPRS, User DatagramProtocol (“UDP”), a circuit-switched data calling protocol, or any otherbearer channel available to the wireless phone. For example, themessages may contain information about the starting time and stoppingtime of a call or service, as well as the number and name of the calledand calling parties. The messages may also contain information relatingto an amount of The SCS may contain information relating to the usage onthe user's account to determine how to charge for services and to decidewhether to activate or terminate service.

An embodiment of the invention may also be implemented in a CodeDivision Multiple Access (“CDMA”) environment. In a CDMA environment,the available services may include, e.g., voice calling, messaging,Evolution Data Only (“EvDO”), single carrier (1x) radio transmissiontechnology (“1xRTT”), circuit-switched data, packet data, etc. Theservice usage records for an embodiment in a CDMA environment may besent using SMS, 1xRTT, UDP, a circuit-switched data calling protocol, orany other bearer channel available to the wireless phone.

As described below, terms such as “cell phone”, “cellular phone”,“cellular network”, “cellular services” are used to identify in ageneric way any and all wireless common carrier phones, networks andservices irrespective of the technologies (e.g., GSM, TDMA, CDMA, etc.)and frequencies (e.g., 800 MHz, 1900 MHz, Cellular band, PCS band, etc.)of operation.

FIG. 1 illustrates a cell phone 100 according to an embodiment of theinvention. The cell phone 100 may be a GSM cell phone. GSM is a digitalcellular phone technology based on Time Division Multiple Access(“TDMA”) that is the predominant system in Europe, but is also usedaround the world. Operating in the 900 MHz and 1.8 GHz bands in Europeand the 850 MHz Cellular band and 1.9 GHz PCS band in the U.S., GSMdefines the entire cellular system, not just the air interface (TDMA,Code Division Multiple Access (“CDMA”), etc.).

The cell phone 100 includes a SIM card 105 that contains user accountinformation such as custom menus, telephone lists, personalizedservices, network profile information, etc. The SIM card 105 is tinycomputer in the mobile phone 100. It has memory (for data andapplications), a processor and the ability to interact with the user.Current SIM cards 105 typically have at least 16 to 64 kb of memory,which provides plenty of room for storing hundreds of personal phonenumbers, text messages and other value-added services.

The SIM card 105 provides portability for the user's personal settingsand information. For example, any GSM phone becomes immediatelyprogrammed after plugging in a SIM card 105, thus allowing GSM phones tobe easily rented or borrowed. The portability also makes it possible fora user to carry a mobile subscription and data through different typesand generations of GSM phone or to a different GSM phone if the user'sGSM phone were faulty or stopped working for some reason. The interfacesbetween the mobile handset and the SIM card 105 are fully standardizedand there are already specifications in place for 3rd generationhandsets and SIM cards 105. Similar standards are also in place for CDMAhandsets and their SIM card interfaces. This application can be appliedsimilarly in a CDMA or Digital European Cordless Telephone (“DECT”)environment as well.

GSM also provides a Short Messaging Service (“SMS”) that enables textmessages up to 160 characters in length to be sent to and from a GSMphone. It also supports data transfer at 9.6 Kbps to packet networks,Integrated Services Digital Network (“ISDN”) and Plain Old TelephoneSystem or Service (“POTS”) users. GSM is a circuit-switched system thatdivides each 200 kHz channel into eight time slots.

General Packet Radio Service (“GPRS”) is an enhancement to the GSMmobile communications system that supports data packets. GPRS enablescontinuous flows of IP data packets over the system for suchapplications as Web browsing and file transfer. GPRS differs from GSM'sshort messaging service (GSM-SMS), which is limited to 160 bytes in eachmessage (messages may be combined and reassembled to transfer largerfiles or messages).

The cell phone 100 may include a display 110, the SIM card 105, an SMSand GPRS Bearer Capability 115. The display 110 may be a Liquid CrystalDisplay (“LCD”). The cell phone 100 may also include a binary downloadmanager application 120, which may be an application utilized todownload ring tones from a source such as the Internet. A keypad 130 maybe utilized to allow the user to enter a number to be called, ornavigate through a menu on the display, for example. A menu interfaceapplication 125 may provide an interface between the keypad 130 and thedisplay 110. The cell phone 100 may also include a wireless Internetbrowser 135, which the user may utilize, via the keypad 130 and thedisplay 110, to access the Internet. A Wireless ApplicationProtocol/Wireless Instant Messaging (“WAP/WIM”) application 140 containsnecessary protocols for wireless data communication and web browsing. AJava 2 Platform, Micro Edition (“J2ME”) application 145 containsnecessary instructions and other software to implement the java withinthe cell phone 100. The cell phone 100 may include a processor 150 tocontrol operation of the cell phone 100 and execute necessaryinstructions or code to implement the various services within the cellphone. A memory 155, such as a Random Access Memory (“RAM”), may storethe instructions or code to implement the various applications. The cellphone 100 may include an antenna 160 for communication. Finally, thecell phone 100 may include a clock/timer 165 for keeping time such as,e.g., the time of day for display on the display 110 and the start andstop time of a call.

FIG. 2 illustrates a SIM card 105 according to an embodiment of theinvention. The SIM card 105 may include a processor 200 and memorydevices 205, 215, and 230. Each of the memory devices 205, 215, and 230may be a Random Access Memory (“RAM”), a flash memory, or any othersuitable type of memory device. Although FIG. 2 shows three separatememory devices 205, 215, and 230, other embodiments may include a singlememory device where the contents of memories 205, 215, and 230 areseparated from each other by partitions.

Memory device 205 may include information or data specific to thecarrier utilized by the cell phone 100. For example, memory 205 mayinclude GSM user identity and network access data 210 for a carrier suchas Cingular, T*Mobile, or any other wireless carrier.

Memory device 215 may include data or program instructions specific toan operator of a service management system for using a carrier network.The operator may be the carrier, or it may be a separate entity. In theevent that it is a separate entity, common access between the contentsof memories 205 and 215 is limited to one or two call control GSMelemental files. This limited access feature may be included forsecurity purposes. A service usage monitoring application 220 may bestored within the memory device 215, as well as a personalizationparameters 225. The personalization parameters 225 may includeparameters for determining how often the SIM 105 reports service usagerecords for the user. These parameters can include (a) time intervalsfor reporting service usage records; (b) the number of service usagerecords reported at a time; (c) the amount of data to store in a bufferprior to transmitting the service usage records; and (d) specific eventstriggering the reporting (e.g., at power-up or power-down of the cellphone 100), etc. Additional parameters include limits on the length of acall made with the cell phone 100 (inbound calls may also be limited todifferent time lengths than outbound calls). The parameters may alsospecify which services need to be reported (e.g., if the user has aservice plan allowing unlimited SMS messages, it may not be necessary tosend SMS usage records). The personalization parameters are customizableand may be dynamically changed at any time by the SCS by sending amessage to the mobile device, even during a call.

The service usage monitoring application 220 may be a program whichcompiles information on all calls or service usage made by the user ofthe cell phone 100 and periodically sends the information to the SCS forprocessing. The service usage monitoring application 220 may be designedso that once the information is sent out from the SIM card 105, it is nolonger saved within the memory device 215. Consequently, the SIM card105 may utilize a relatively small memory device 215. The service usagemonitoring application 220 may periodically send the service usagerecords via SMS messages.

Memory device 230 may be utilized to store third-party applications.Memory device 230 may include a JAVA Virtual Machine 235 and a proactiveSIM Application Toolkit (“SAT”) 240. The proactive SAT 240 is a valueadded SIM service technology, capable of delivering secure, flexible,user-friendly value added services on existing networks and handsets.The value added services may be the display of sports scores, weatherinformation, map directions, or the user's bank information, forexample. The proactive SAT 240 was defined in the GSM 11.14 standard for2G networks. From release 4 onward, GSM 11.14 is replaced by 3GPP 31.111which also includes specifications of a Universal Subscriber IdentityModule (“USIM”) Application Toolkit (“USAT”) for 3G networks.

With the development of the SAT 240, the SIM card 105 can be programmedwith applications that appear on the cell phone 100 display 110 as menuitems. The SAT 240 is a technology that lets the SIM card 105 issuecommands to the cell phone 100. These commands range from displayingmenus and getting user input, to sending and receiving SMS messages. TheSAT 240 is essential for implementing security critical applications,since it allows for custom encryption. The SAT 240 technology isincorporated into many major mobile telecommunication standards.

Memory device 230 of the SIM card 105 may also include a Public KeyInfrastructure (“PKI”) processor 245 to encrypt data to be sent out fromthe SIM card 105. The memory device 230 may also include an extended SMSprotocol application 250, which invokes SMS protocols for communication.

The SIM card 105 may also include the processor 200 to execute code andimplement applications stored within the memory devices 205, 215, and230.

Additional embodiments may be implemented without use of a SIM card 105.Specifically, the service usage monitoring application 220 describedabove with respect to FIG. 2, may be implemented directly by a cellphone 100. Alternatively, the service usage monitoring application maybe implemented by an alternative device for accessing a network such asa modem, and the network may be wireless, hard-wired,Voice-Over-Internet-Protocol (“VOIP”), or any other suitable type ofnetwork.

FIG. 6 illustrates a cell phone 100 for accessing a network according toan embodiment of the invention. The cell phone 610 of FIG. 6 is similarto the cell phone 100 of FIG. 1, except that cell phone 600 does nothave a SIM card 105, unlike FIG. 1. The memory 615 is also similar tothe memory 155. The memory 615 may include user identity and networkaccess data. The service usage monitoring application 200 may also bestored on the memory.

FIG. 3 illustrates a diagram of a cellular system 300 according to anembodiment of the invention. Although only a single cell phone 100 isshown, in practice this system 300 may be used with multiple cell phones100 at any time. When the service usage monitoring application 220determines that it is time to send service usage records to the SCS, itmay cause the SIM card 105 to generate an SMS message containing theservice usage records. The SIM card 105 is in communication with theradio transceiver 160 of the cell phone 160, and may cause the cellphone to transmit out the SMS message or messages containing the callrecords. The SMS messages are transmitted on the Stand-alone DedicatedControl Channel (“SDCCH”) during an idle state of the cell phone 105.The SDCCH is used in a GSM system to provide a reliable connection forsignaling. If the user is on a call at the time the SMS messages aregenerated, then the SMS messages are transmitted on the Slow AssociatedControl Channel (“SACCH”). The SACCH is a GSM signaling channel thatprovides a relatively slow signaling connection. The SACCH is associatedwith either a traffic or dedicated channel.

The SMS messages are received by a communication tower 305 and thenrouted to a Base Transceiver Station (“BTS”) 310. The BTS 310 maycomprise radio transmission and reception devices and antennas. The BTS310 may be in contact with a Base Station Controller (“BSC”) 315 via a“land line” interface. The BSC 315 acts as equipment manager for theradio interface. This may be done via remote commands to the BTS 310 andthe cell phone 100. The BSC 315 may manage more than one BTS 310.

“Cellular communications” refers to a sub-field of mobile communicationsin which the geographical area is sub-divided into cells. Each cell ishandled by a BTS 310. End-user devices (such as cell phones 100 orvehicle-mounted phones) are called Mobile Stations (“MS”) and they talkto the BTS 310 using an over-the-air radio interface. This is the onlywireless interface in the cellular system 300 which means it is based onradio communication. Since the radio frequency spectrum is at a premium,the aim is to pack as many MSs as possible in a single radio frequencyband. Unlike other radio systems, in cellular communications the MS isconstantly moving through different cells, as the end-user moves about.This transition from one cell to the other is meant to be transparent tothe end-user. To accomplish this, the MS and BTS 310 perform somethingcalled “hand-over.” A hand-over involves seamlessly handing over the MSfrom one BTS 310 to another, when the user crosses a cell. Other keyentities which are part of the cellular system 300 include a Mobileservices Switching Center (“MSC”) 320 which connects the cellular system300 to external networks such as the regular phone system, a HomeLocation Register (“HLR”) 325 which contains information about the userand the current location of the MS, and a Visitor Location Register(“VLR”) 330 which contains dynamic information as well as copies of theBLR 325 for MSs currently in the area. The HLR 325 may be incommunication with an authentication center 327 which authenticates theuser.

The VLR 330 may contain all the subscribers who are currently visitingwithin the service area. The HLR 325 may contain all the subscriberswithin the provider's home service area.

The system 300 may utilize a Signal System 7 (“SS7”) network 340. SS7 isa protocol used in a public switched telephone system (the “intelligentnetwork” or “advanced intelligent network”) for setting up calls andproviding services. The SS7 network 340 is a separate signaling networkthat is used in Class 4 and Class 5 voice switches.

The SS7 network 340 sets up and tears down the call, handles all therouting decisions and supports all modern telephony services such as 800numbers, call forwarding, caller ID and local number portability (LNP).The voice switches known as “service switching points” (“SSPs”) query“service control point” (“SCP”) databases using packet switches known as“signal transfer points” (“STPs”).

Accessing databases using a separate signaling network enables thesystem to more efficiently obtain static information such as theservices a customer has signed up for and dynamic information such asever-changing traffic conditions in the network. In addition, a voicecircuit is not tied up until a connection is actually made between bothparties.

An International Mobile Equipment Identifier (“IMEI”) 337 is used touniquely identify the mobile communications device 100 in a GSM network.The SIM card 105 of cell phone 100 also includes a unique electronicserial number (a circuit card ID (“CCID”)), circuit card ID). Theequipment identity register (“EIR”) 337 contains a list of IMEI's forstolen cell phones, for example, so that when a user tries to use a cellphone 100 having an IMEI on a banned list, service is not initiated. Inother embodiments, the equipment identity register 337 need not beutilized.

The Public Switched Telephone Network (“PSTN”) 335 is a worldwide voicetelephone network. Once only an analog system, the heart of mosttelephone networks today is entirely digital. In the U.S., most of theremaining analog lines are the ones from your house or office to thetelephone company's central office (“CO”).

The MSC 320 connects a landline PSTN 335 system to the mobile phonesystem. The MSC 320 is also responsible for compiling call informationfor billing and handing off calls from one cell to another.

A Short Message Service Center (“SMSC”) 342 allows SMS messages to besent to and from the cell phone 100. The SMSC 342 provides an interfaceenabling effective exchange of large quantities of text messages (i.e.,SMS) between the company, where it is based, and GSM users. The transferof SMSs to cell phone 100 users takes place via GSM networks. It allowsfor sending both text and graphic messages, such as the operator's logoor picture messages, and sending ringtones. This interface may be basedon a direct or indirect TCP connection to GSM network operators usingthe SM-PP protocol, bi-directional email addressing for SMS messages, ora direct or indirect SS7 interface to the carrier's SMSC. An accessprotocol assigned to a given operator is used for exchanging messageswith the SMSC 342. In its most recent version, the system also providesfor handling multimedia MMS messages. The cellular system 300 may alsoinclude an Over-The-Air (“OTA”) delivery platform 352. OTA is atechnology used to communicate with, download applications to, andmanage a SIM card 105 without being connected physically to the SIM card105. OTA enables a Network Operator to introduce new SIM services or tomodify the contents of SIM cards 105 in a rapid and cost-effective way.OTA is based on client/server architecture where at one end there is anoperator back-end system (customer care, billing system, applicationserver, etc.) and at the other end there is the SIM card 105.

The operator's back-end system sends service requests to an OTA Gateway355, which transforms the requests into Short Messages and sends themonto the SMSC 342 which transmits them to a subscriber's SIM card 105 inthe field. The OTA Gateway 355 receives Service-Requests through aGateway API that indicates the actual card to modify/update/activate. Infact, inside the OTA Gateway 355 there is a card database that indicatesfor each card, the SIM vendor, the card's 105 identification number, theInternational Mobile Subscriber Identity (“IMSI”) and the MobileSubscriber ISDN Number (“MSISDN”). The OTA delivery platform 352 mayencrypt messages and send them to the SIM card 105, where they aredecrypted.

The communication between the SCS 362 and the SIM 105 need not be madethrough the OTA delivery platform 352. Instead, it may be made via SMSmessages, or any other suitable messaging format utilizing the SMSC or adirect data bearer channel, such as GPRS 342.

The service request is then formatted into a message that can beunderstood by the recipient SIM card 105. To achieve this, the OTAGateway 355 has a set of libraries that contain the formats to use foreach brand of SIM cards 105. The OTA Gateway 355 then formats themessage differently depending on the recipient SIM card 105.

A formatted message is then sent to the SMSC 342 using the right set ofparameters as described in GSM 03.48. Next, the OTA Gateway 355 issuesas many SMS messages as are required to fulfill the Service-Request. Inthis operation, the OTA Gateway 355 is also responsible for theintegrity and security of the process.

The OTA Delivery Platform 352 also includes subscriber management tools357. The subscriber management tools 357 may be utilized to manage theuser's (i.e., the “subscriber's”) usage (e.g., to change permissions orcut off services). The subscriber management tools 357 may be incommunication with a billing system 360. The billing system 360 may alsointerface between a service platform within the SCS 362 and a switchmanager 365. The switch manager 365 take orders from the billing system360 and may have a function of initializing various communicationsservers for the user, such as the HLR 325, SMSC 342. The serviceplatform within the SCS 362 may contain information about the user ofthe cell phone 100, such as, e.g., the user's rating, payment plan,minutes, and other services such as voicemail, call waiting, etc.

An advanced billing and rating system 387 within the SCS 362 may beoperated and controlled by the carrier or by a separate entity whoreceives call records, makes adjustments to the user's account based onthe usage of the wireless services 100. In the event that the user hasalready paid for certain services, access time, or minutes, and the useruses up all available units of service, the SCS 362 may send a messageto the phone or to the wireless carrier's network interface to suspendservices for the user, which may include the termination of a call inprogress. In other embodiments, the SCS 362 may simply cause the billingsystem 360 to keep a running total of the amount of services consumed bythe user for the call. The SCS 362 may include a point-to-point SMSclient 367. The point-to-point SMS client 367 may receive the SMSmessages in which service usage records are stored, and may transmitmessages to configure, initialize, or update the SIM application (i.e.,the service usage monitoring application) control functions 370.

The service platform implemented by SCS 362 may allow cell phone 100management with the ability to reconfigure, query, and update parameterson the SIM card 105 using SM-PP, OTA, and point-of-sale SIM cardprogrammers. The service platform implemented by the SCS 362 may alsosupport self-provisioning and self-replenishment applications. Thearchitecture may provide the necessary interfaces to the carrier'sprovisioning system and message mailbox, and to the SCS 362.

The SIM application control tools module 370 on the SCS 362 may receivethe SMS messages that were sent by the SIM card 105 and received by thepoint-to-point SMS client 367. The SIM application control tools module370 may be utilized by the SCS 362 to analyze and store usage detailrecords received. The application control tools module 370 may beconfigured to only access information stored within the second memorydevice 215/second portioned memory of the SIM card 105, for securitypurposes.

The SCS 362 may also include an OTA gateway client 383 which maycommunicate with the OTA gateway 355 via the Internet 381. The SCS 362may also include a wireless Internet gateway 385 which may communicatewith the OTA gateway 355 via the Internet 381. The wireless Internetgateway 385 may be in communication with a Wireless Markup Language(“WML”) server 390. The WML server 390 may communicate with a trustedoperator services module 393. The trusted operator services module 393may be utilized, e.g., to provide an interface to allow the user topurchase goods and provides security for such transactions.

The service usage monitoring application 220 within the SIM card 105 isa proactive SIM card application to achieve improved monitoring ofservice usage by the wireless device, real time call control, andcustomer communications. The service usage monitoring application 220 isused in combination with a server-based record processing, storage, andprovisioning platform (located within SCS 362). The service usagemonitoring application 220 operates by monitoring and reporting call,SMS, and other communications activity for a particular cell phone 100to the SCS 362, which may be located at a remote site. Morespecifically, the service usage monitoring application 220 uses amodified SIM card 105 programmed to monitor every service usage event,initiated or received by the cell phone. The service usage monitoringapplication 220 creates and stores on the SIM card 105 a record of thecall duration for each call and/or the number of the SMS messages sentor received. At a predetermined time, the service usage monitoringapplication 220 causes the information stored on the SIM card to be sentvia an SMS message to the SCS 362.

FIG. 8 illustrates a diagram of another cellular system according to anembodiment of the invention. A wireless user device 800 includes aprocessor 825 in communication with a memory 820. The memory 820 maystore code for the service usage monitoring application 220 andapplication data (e.g., for a SIM card 105). The wireless device 800 maycommunicate with a wireless services network 805 via wirelesstechnology-based services (e.g., GSM Voice, SMS, etc.). The wirelessservices network 805 may be a GSM/GPRS/SMS network. The wirelessservices network 805 may communicate with the SCS 362 via an interface.The interface (e.g., a proprietary interface to a switch manager) may beutilized to activate and/or suspend a user's services. The SCS 362 mayinterface with a network 815. The network 815 may be utilized for thetransport (e.g., via SMS messages) of reports and control messages toand from the service usage monitoring application 220 and the SCS 362.In some embodiments, the network 815 may be the same as the wirelessservices network 805.

FIG. 4A illustrates a call monitoring method implemented by the cellularsystem 300 according to an embodiment of the invention. First, theservice usage monitoring application 220 detects 400 whether acall/service usage has begun. The service usage monitoring application220 monitors each call using two events: “CALL CONNECT” and “CALLDISCONNECT.” These events are sent by the cell phone 100 to the SIM card105 at call connection and call disconnection. For each call/serviceusage monitored, the SIM card 105 measures the duration by retrievingthe handset time at the beginning and at the end of the call/service, orby using the available timers on the mobile to determine the length ofservices consumed, or by counting service events, such as SMS messages,transactions, downloads, etc.

Next, the service usage monitoring application 220 logs 405 the callingnumber (for inbound calls/services) or the called number (for outboundcalls/services). The service usage monitoring application 220 thendetermines 410 the start time of the call or service—this may be takenfrom the clock/timer 165. A counter x may then be initialized 415 to thevalue “0”. At operation 420, the service usage monitoring application220 determines 420 whether the call or service usage has ended. If “no,”processing proceeds to operation 425, where counter x is incremented. If“yes,” processing proceeds to operation 440. At operation 430, theservice usage monitoring application 220 determines whether counter x isequal to y, a preset threshold value. If “no,” processing returns tooperation 420. If “yes,” processing proceeds to operation 435, where thetime is retrieved from the clock/timer 165. The reason for using thecounter and retrieving the time during the call is so that an accuratecall/service usage length can be determined in case there are anyunexpected interruptions of power. In other embodiments, a method wherea counter in decremented may be utilized.

At the end of each call/service usage, the service usage monitoringapplication 220 creates 440 a Usage Detail Record (UDR), which mayinclude (a) the type of call/service usage (e.g., inbound or outbound,SMS, GPRS, etc.), (b) the destination address or the calling/serviceusage address (depending on the type of call/service usage), and (c) theduration/count of the call/service usage. The service usage monitoringapplication 220 may accumulate 445 the UDRs in a UDR buffer.

FIG. 4B illustrates an alternative service usage monitoring methodimplemented by the UDR application 300 according to an embodiment of theinvention. First, the service usage monitoring application 220 detects447 whether a call/service usage has begun. Next, the service usagemonitoring application 220 logs 449 the calling number (for inboundcalls/services) or the called number (for outbound calls/services). Theservice usage monitoring application 220 then determines 451 the starttime of the call or service—this may be taken from the clock/timer 165.

At operation 453, the service usage monitoring application 220determines whether the call or service usage has ended. If “no,”processing stays at operation 453. If “yes,” processing proceeds tooperation 455, where the end time is retrieved from the clock/timer 165.

At the end of each call/service usage, the service usage monitoringapplication 220 creates 457 a UDR for the call/service usage. Theservice usage monitoring application 220 may then store the UDR 459 inthe UDR buffer.

FIG. 4C illustrates a UDR reporting method implemented by the UDRapplication 300 according to an embodiment of the invention. First, at apredefined frequency, the service usage monitoring application 220creates 465 a UDR message in SMS format, fills it with the maximumnumber of UDRs possible, and adds SMS counters and a security layer. TheUDR SMS message is then sent 470 to the SCS 362. The UDR SMS message maybe encrypted. The service usage monitoring application 220 checks 475for acknowledgement of receipt. If no acknowledgment is received,processing returns to operation 470. However, if acknowledgement isreceived, the delivered UDR records are purged 480 from the UDR buffer.If the cell phone 100 is powered-off before the SMS is sent, the serviceusage monitoring application 220 attempts to send it again when the cellphone 100 powers on again.

The service usage monitoring application 220 also monitors inbound and,if possible, outbound short messages. This is done by incrementing aninbound SMS counter and an outbound SMS counter each time a text messageis received or sent.

The service usage monitoring application 220 monitors inbound shortmessages by filtering the modifications made in the SMS file by thephone. Each time, the phone updates a record in the SMS file with thestatus byte set to “Message received by MS from network; message to beread,” the service usage monitoring application 220 increases theinbound SMS counter by one.

The service usage monitoring application 220 also monitors outboundshort messages. Each time the user attempts to send an SMS message, theservice usage monitoring application 220 authorizes it and incrementsthe outbound SMS counter by one. In other embodiments, this SMS controland reporting need not be performed.

The service usage monitoring application 220 may request the cell phone100 to disconnect the call or end the service by sending a refreshcommand. This will cause the cell phone 100 to run a GSM sessiontermination procedure and to disconnect any ongoing calls/services.Subsequently, the cell phone 100 will activate the SIM card 105 againand start a new session.

FIG. 4D illustrates a method of disabling the SIM card 105 whenpredetermined standards are not met by the phone according to anembodiment of the invention. First, the service usage monitoringapplication 220 interrogates 486 the cell phone 100. Next, the serviceusage monitoring application 220 determines 488 whether certainpredetermined standards (e.g., SIM call control and SMS capability) arepresent. If they are not present, then the service usage monitoringapplication disables 490 the SIM card 105. If they are present, then theSIM card 105 and the cell phone 100 may function 492 properly.

The service usage monitoring application 220 may be remotely controlledby the SCS 362. The SIM card 105 may receive an encrypted controlmessage from the SCS 362, the control message including parameters tocontrol the service on the cell phone 100 and optimize a reportingfrequency of messages containing the UDR records. The parameters mayinclude (a) a time frequency at which the message is sent to the SCS362; (b) a message size threshold before the message is sent; (c) aservice count limit of services utilized on the cell phone 100 prior tothe reporting messages being sent; and (d) a maximum call lengthallowed.

The parameters may also include an ability to command the SIM card toimmediately send the reporting message(s), and set a transmission timeof the reporting message(s) according to a predefined event such aspower-up and power-down. The control message can enable or disablevarious modes of service, such as: inbound service, outbound service,Short Message Service, voice service, General Packet Radio Service,transaction service, and download service. The receipt of the controlmessage and the transmission of the UDR records may be transparent to auser of the phone (i.e., the user may not even know that the controlmessage has been received by the cell phone 100, or that the UDR recordshave been transmitted). The control message may cause an updating of theservice usage monitoring application 220 by downloading new codelibraries to the service usage monitoring application 220 and commandingthe service usage monitoring application 220 to utilize the new codelibraries and purge old code libraries.

FIGS. 7A and 7B illustrate an additional method of remotely controllingservices on a cell phone 100 utilizing a SIM card 105 implementing aservice usage monitoring application 220 according to an embodiment ofthe invention. This method may be implemented by a processor or computerat the SCS 362. First, method determines whether a customer activationhas been initiated 700. A customer activation may be initiated by a userusing the cell phone 100 having the SIM 105 for the first time, e.g., acommand is then sent 705 to the carrier's activation system foractivation. Next, the method determines 710 whether activation has beenallowed. If “no,” processing remains at operation 710. If “yes,”processing proceeds to operation 720. At operation 715, the methoddetermines whether a new phone message has been received. The new phonemessage may be received, e.g., when a new user uses the cell phone 100for the first time. At operation 725, the method initiates a productload. The product load may be initiated where a user has just initiatedservice after purchasing a new cell phone 100, or a current user hasadded new services. Next, the method determines 730 whether it is a newactivation. If “yes,” processing proceeds to operation 720. If “no,”processing proceeds to operation 735.

At operation 720, the method determines whether the product (i.e.,everything required to implements a service on the phone such as, e.g.,software and various parameters associated with the service) is loadedand the new phone message is received. If “no,” processing remains atoperation 720. If “yes,” processing proceeds to operation 735, where aconfiguration message is sent to the service usage monitoringapplication 220 running on the SIM card 105 of the cell phone 100. Theconfiguration message may be sent in the SMS format and may beencrypted.

As shown in FIG. 7B, at operation 740 the method determines whether aUDR is received by the SCS 362. If “no,” processing remains at operation740. If “yes,” processing proceeds to operation 745 where error checkingand message verification (e.g., sych, reconciliation, and enrichment) isperformed on the received UDR. Next, the product limits (e.g., serviceplan parameters) are calculated 750. The method then determines 755whether the user has exceeded the service plan limits. If “no,”processing proceeds to operation 760 where the method determines whetherthe product configuration threshold has been reached. If “yes,” andupdated configuration message with parameters is sent 770 to the serviceusage monitoring application 220 running on the SIM card 105 of the cellphone 100. The configuration message may be encrypted. If “no,”processing proceeds to operation 775, and the method waits 775 foradditional UDRs to be received, and which point processing returns tooperation 740.

If at operation 755, the method determines that the service plan limitshave not been exceeded, then processing proceeds to operations 765 and780. At operation 765, a configuration message is sent by the SCS 362 tothe service usage monitoring application 220 running on the SIM card 105of the cell phone 100. The configuration message may be encrypted. Atoperation 780, a message is sent to the carrier to inform that theuser's service is to be suspended. Alternatively (or additionally), acontrol message may also be sent to the SIM card 105 to suspendoperation locally.

FIG. 5 illustrates components within the memory 215 according to anembodiment of the invention. The memory 215 may include an inbound SMScounter 500 to keep a record out the number of inbound calls. Theinbound SMS counter 500 may be a portion of the memory 215 that isincremented. The memory 215 may include an outbound SMS counter 505 tokeep a record out the number of outbound calls. The outbound SMS counter505 may be a portion of the memory 215 that is incremented. The memory215 may also include a UDR buffer 510 in which the UDR records may bestored.

Although the embodiments described above all pertain to SIM cards 105for cellular phone networks, in other embodiments, a cellular phone andcellular network need not be used. Instead, e.g., aVoice-Over-Internet-Protocol (“VOIP”) network may be utilized. Otherembodiments may also utilize devices other than cell phones. Suchdevices may accept SIM cards 105—a wireless data card is an example ofsuch as device. Generally, such devices may be communication devicespatched over a network. Also, other devices may also utilize additionalnetworks other than GSM or CDMA, such as, e.g., DECT, TDMA, or any otherSIM wireless network that accepts a SIM card 105.

While the description above refers to particular embodiments of thepresent invention, it will be understood that many modifications may bemade without departing from the spirit thereof. The accompanying claimsare intended to cover such modifications as would fall within the truescope and spirit of an embodiment of the present invention. Thepresently disclosed embodiments are therefore to be considered in allrespects as illustrative and not restrictive, the scope of an embodimentof the invention being indicated by the appended claims, rather than theforegoing description, and all changes which come within the meaning andrange of equivalency of the claims are therefore intended to be embracedtherein.

1. A processor-readable medium having encoded thereon aprocessor-readable program code which when executed causes a processorto implement a method comprising: detecting and logging informationabout a service utilized via a communication device; creating a serviceusage record for the service based on the information; creating areporting message containing at least one service usage record; andsending the reporting message to a remote server.
 2. Theprocessor-readable medium of claim 1, wherein the communication deviceis at least one of: (i) a GSM cellular phone; (ii) a CDMA cellularphone; (iii) a personal data assistant; (iv) a wireless media device;(v) a digital cable set-top box; (vi) a wireless e-mail device; (vii) aWi-Fi phone; (viii) a Wi-Max phone; and (ix) a network access point. 3.The processor-readable medium of claim 2, wherein sending the reportingmessage further comprises sending the reporting message at an intervalbased on a triggered event.
 4. The processor-readable medium of claim 2,wherein the method further comprises: storing the service usage recordin a buffer; and purging the at least one service usage record from thebuffer upon successful sending of the reporting message.
 5. Theprocessor-readable medium of claim 4, wherein the logged information,the service usage record, the buffer, and the reporting message arestored in a memory of the communication device.
 6. Theprocessor-readable medium according to claim 1, wherein the reportingmessage is sent via a wireless communications protocol selected from thegroup consisting of: (i) short message service protocol; (ii) generalpacket radio service protocol; (iii) user datagram protocol; (iv) 1xRTTprotocol; and (v) circuit-switched data calling protocol.
 7. Theprocessor-readable medium according to claim 1, wherein the servicebeing selected from the group consisting of: (i) voice calling; (ii)messaging; (iii) general packet radio service; (iv) data callingservice; (v) execution of a purchase transaction; (vi) downloadingstreaming media; and (vii) picture messaging.
 8. The processor-readablemedium according to claim 1, wherein the information includes at leastone of: (i) a start time of the service; (ii) a destination number whenthe communication device initiates an outbound service; (iii) an originnumber when the communication device receives an inbound service; (iv)an EvDO service; (v) a 1xRTT service; (vi) a circuit-switched dataservice; and (vii) a packet data service.
 9. The processor-readablemedium according to claim 1, wherein the method further comprises:periodically updating a record of a length of the service during the useof the service; and logging an end time at the end of the service. 10.The processor-readable medium according to claim 9, wherein the end timebeing determined by referencing a clock/timer on the communicationdevice.
 11. The processor-readable medium according to claim 1, furthercomprising a plurality of unique program codes necessary to implementthe method stored in a memory of the communication device.
 12. Theprocessor-readable medium according to claim 3, wherein the triggeredevent being selected from a group consisting of: time, message size, andan accumulated service usage unit count.
 13. The processor-readablemedium according to claim 1, wherein the method further comprisesreceiving a control message from the remote server, the control messageincluding parameters to control the service on the communication deviceand to optimize a reporting frequency of the reporting message.
 14. Theprocessor-readable medium according to claim 13, wherein the parametersare being selected from a group consisting of: (i) a time frequency atwhich the reporting message is sent to the remote server; (ii) a messagesize threshold before the reporting message is sent; (iii) a servicecount limit of the service before the reporting message is sent; and(iv) a maximum call length allowed by the communication device.
 15. Theprocessor-readable medium according to claim 13, wherein the parametersfurther includes a parameter commanding the communication device to doat least one of: (i) immediately send the reporting message; and (ii)set a transmission time of the reporting message according to apredefined event.
 16. The processor-readable medium according to claim15, the predefined event being selected from the group consisting of: apower-up event, a power-down event, a defined error condition event, adetection of a state of the communication device, and a detection of auser input.
 17. The processor-readable medium according to claim 13,wherein the control message further causes one of an enabling and adisabling of a mode of service, the mode of service being selected froma group consisting of: an inbound service mode, an outbound servicemode, a short message service mode, a voice service mode, a generalpacket radio service mode, a transaction service mode, a data streamingservice mode and a download service mode.
 18. The processor-readablemedium according to claim 13, wherein at least one of the controlmessage and the service usage record, is transparent to user of thecommunication device.
 19. The processor-readable medium according toclaim 13, wherein the control message further causes an updating of theservice usage monitoring application, by downloading new code librariesto the service usage monitoring application, and commanding the serviceusage monitoring application to utilize the new code libraries and purgeold code libraries.
 20. The processor-readable medium according to claim11, wherein the memory includes a first memory partition on which theunique code is stored, and a second memory partition, and access betweenthe first memory partition and the second memory partition is secure, iscontrolled locally, and is limited to pre-selected elemental files tocontrol access to a cellular network.
 21. The processor-readable mediumaccording to claim 13, wherein the control message further includesinstructions to shut off the service on the communication device when apredetermined service threshold has been met by the communicationdevice.
 22. The processor-readable medium according to claim 13, whereinat least one of the reporting message and the control message areencrypted.
 23. A processor-readable medium having encoded thereon: afirst memory partition on which a processor-readable program code isstored, which when executed causes a processor to implement a methodcomprising: detecting and logging information about a service utilizedvia a communication device, creating a service usage record for theservice based on the information, creating a reporting messagecontaining at least one service usage record, sending the reportingmessage to a remote server; and a second memory partition, and accessbetween the first memory partition and the second memory partition issecure, is controlled locally, and is limited to SIM elemental files tocontrol access to a cellular network.
 24. The processor readable memoryaccording to claim 23, wherein the processor-readable program code isfurther adapted to store the service usage record in a buffer located onthe first memory portion.
 25. The processor readable memory according toclaim 24, wherein the processor-readable program code is further adaptedto purge at least one service usage record from the buffer uponsuccessful transmission of the reporting message.
 26. The processorreadable memory according to claim 23, wherein the processor-readableprogram code is further adapted to identify the network used by thecommunication device and to communicate with the identified networkusing appropriate network protocol.
 27. The processor readable memoryaccording to claim 23, wherein the processor-readable program code isfurther adapted to: (i) interrogate the communication device todetermine if a plurality of predetermined standards are met by thecommunication device; and (ii) invalidating the SIM elemental files ifat least one of the plurality of predetermined standards are not met bythe communication device.